import os
import sys
import sqlite3
import django

sys.path.append('../backend')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'HuaXianGuan.settings')
django.setup()

from apps.flowers.models import Flower, FlowerImage, FlowerCategory

def check_and_sync():
    """检查并同步数据"""
    
    print("检查MySQL数据库中的现有数据...")
    
    # 检查MySQL中的数据
    flowers_count = Flower.objects.count()
    images_count = FlowerImage.objects.count()
    categories_count = FlowerCategory.objects.count()
    
    print(f"MySQL数据库中:")
    print(f"- 花卉分类: {categories_count}")
    print(f"- 花卉: {flowers_count}")
    print(f"- 花卉图片: {images_count}")
    
    if flowers_count == 0:
        print("\nMySQL数据库为空，需要初始化数据...")
        
        # 创建基础分类
        categories = [
            {'name': '玫瑰', 'description': '经典浪漫的玫瑰花'},
            {'name': '百合', 'description': '纯洁高雅的百合花'},
            {'name': '康乃馨', 'description': '温馨感恩的康乃馨'},
            {'name': '郁金香', 'description': '优雅高贵的郁金香'},
            {'name': '向日葵', 'description': '阳光活力的向日葵'},
            {'name': '满天星', 'description': '浪漫配花满天星'},
        ]
        
        for cat_data in categories:
            category, created = FlowerCategory.objects.get_or_create(
                name=cat_data['name'],
                defaults={'description': cat_data['description']}
            )
            if created:
                print(f"创建分类: {category.name}")
        
        # 创建基础花卉数据
        flowers_data = [
            {'name': '红玫瑰', 'category': '玫瑰', 'price': 168.00, 'description': '经典红玫瑰，象征热烈的爱情'},
            {'name': '粉玫瑰', 'category': '玫瑰', 'price': 158.00, 'description': '温柔粉玫瑰，表达初恋的美好'},
            {'name': '白玫瑰', 'category': '玫瑰', 'price': 148.00, 'description': '纯洁白玫瑰，代表纯真的爱'},
            {'name': '红玫瑰花束', 'category': '玫瑰', 'price': 288.00, 'description': '精美红玫瑰花束，11朵装'},
            {'name': '粉玫瑰花束', 'category': '玫瑰', 'price': 268.00, 'description': '浪漫粉玫瑰花束，11朵装'},
            {'name': '白玫瑰花束', 'category': '玫瑰', 'price': 258.00, 'description': '优雅白玫瑰花束，11朵装'},
            
            {'name': '白百合', 'category': '百合', 'price': 128.00, 'description': '纯洁白百合，香气怡人'},
            {'name': '粉百合', 'category': '百合', 'price': 138.00, 'description': '温馨粉百合，优雅迷人'},
            {'name': '粉百合花束', 'category': '百合', 'price': 228.00, 'description': '精致粉百合花束，9朵装'},
            
            {'name': '红康乃馨', 'category': '康乃馨', 'price': 88.00, 'description': '感恩红康乃馨，母亲节首选'},
            {'name': '粉康乃馨', 'category': '康乃馨', 'price': 98.00, 'description': '温馨粉康乃馨，表达关爱'},
            {'name': '红康乃馨花束', 'category': '康乃馨', 'price': 188.00, 'description': '温馨红康乃馨花束，15朵装'},
            {'name': '粉康乃馨花束', 'category': '康乃馨', 'price': 198.00, 'description': '优雅粉康乃馨花束，15朵装'},
            
            {'name': '红郁金香', 'category': '郁金香', 'price': 118.00, 'description': '热情红郁金香，荷兰进口'},
            {'name': '粉郁金香花束', 'category': '郁金香', 'price': 248.00, 'description': '温柔粉郁金香，15朵装，优雅浪漫'},
            {'name': '红郁金香花束', 'category': '郁金香', 'price': 258.00, 'description': '热烈红郁金香花束，15朵装'},
            
            {'name': '向日葵', 'category': '向日葵', 'price': 68.00, 'description': '阳光向日葵，带来正能量'},
            {'name': '向日葵花束', 'category': '向日葵', 'price': 168.00, 'description': '活力向日葵花束，9朵装'},
            
            {'name': '满天星', 'category': '满天星', 'price': 48.00, 'description': '浪漫满天星，完美配花'},
            {'name': '满天星花束', 'category': '满天星', 'price': 128.00, 'description': '梦幻满天星花束，纯白色'},
        ]
        
        for flower_data in flowers_data:
            category = FlowerCategory.objects.get(name=flower_data['category'])
            flower, created = Flower.objects.get_or_create(
                name=flower_data['name'],
                defaults={
                    'category': category,
                    'price': flower_data['price'],
                    'description': flower_data['description'],
                    'stock': 100,
                    'is_available': True
                }
            )
            if created:
                print(f"创建花卉: {flower.name}")
                
                # 为每个花卉创建一个默认图片记录
                FlowerImage.objects.create(
                    flower=flower,
                    image_url=f"https://flower-1.oss-cn-shanghai.aliyuncs.com/flowers/{flower.name}.jpg",
                    is_primary=True
                )
        
        print("数据初始化完成！")
    else:
        print("MySQL数据库已有数据，无需同步")
    
    # 最终统计
    flowers_count = Flower.objects.count()
    images_count = FlowerImage.objects.count()
    categories_count = FlowerCategory.objects.count()
    
    print(f"\n最终统计:")
    print(f"- 花卉分类: {categories_count}")
    print(f"- 花卉: {flowers_count}")
    print(f"- 花卉图片: {images_count}")

if __name__ == "__main__":
    check_and_sync()